package com.ruoyi.his.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;

/**
 * 【请填写功能名称】对象 his_punish
 * 
 * @author Alan
 * @date 2024-03-19
 */
@Data
public class HisPunish
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    private String hospitalId;

    private String signature;

    /** 对应warn_hospital_log和warn_pre_log的id */
    @Excel(name = "对应warn_hospital_log和warn_pre_log的id")
    private Long warnId;

    /** 0  查warn_hospital_log  1查 warn_pre_log */
    @Excel(name = "0  查warn_hospital_log  1查 warn_pre_log")
    private Integer warnType;

    /** 0 未处置  1 处置中 2 处置完成 */
    @Excel(name = "0 未处置  1 处置中 2 处置完成")
    private Integer punishState;

    /** 处置人的登录用户ID */
    @Excel(name = "处置人的登录用户ID")
    private Long punishUid;

    @NotEmpty(message = "请勾选处置项")
    @TableField(select = false)
    private List<String> ids;

    /** 处置时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "处置时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date punishTime;

    @NotBlank(message = "请输入处置标题")
    private String punishTitle;

    /** 处置内容 */
    @Excel(name = "处置内容")
    @NotBlank(message = "请输入处置内容")
    private String punishContent;

    /** 处置文件下载 文件id以/隔开 */
    @Excel(name = "处置文件下载 文件id以/隔开")
    private String punishFile;

    /** 被处置医院的注册号/登记号 */
    @Excel(name = "被处置医院的注册号/登记号")
    private String registerNumber;

    /** 回复处置的内容 */
    @Excel(name = "回复处置的内容")
    private String reContent;

    /** 回复处置的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "回复处置的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reTime;

    /** 整改下载 文件id以/隔开 */
    @Excel(name = "整改下载 文件id以/隔开")
    private String reFile;

    private transient String deptName;
    private transient String postName;
    private transient String realName;
    private transient String institutionName;
    private transient String projectName;
    private transient String preId;
    private transient String clinicId;

    public String getInstitutionName() {
        return institutionName;
    }

    public void setInstitutionName(String institutionName) {
        this.institutionName = institutionName;
    }

    public String getRealName() {
        return realName;
    }

    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getPostName() {
        return postName;
    }

    public void setPostName(String postName) {
        this.postName = postName;
    }

    public String getPunishTitle() {
        return punishTitle;
    }

    public void setPunishTitle(String punishTitle) {
        this.punishTitle = punishTitle;
    }

    public List<String> getIds() {
        return ids;
    }

    public void setIds(List<String> ids) {
        this.ids = ids;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setWarnId(Long warnId) 
    {
        this.warnId = warnId;
    }

    public Long getWarnId() 
    {
        return warnId;
    }
    public void setWarnType(Integer warnType) 
    {
        this.warnType = warnType;
    }

    public Integer getWarnType() 
    {
        return warnType;
    }
    public void setPunishState(Integer punishState) 
    {
        this.punishState = punishState;
    }

    public Integer getPunishState() 
    {
        return punishState;
    }
    public void setPunishUid(Long punishUid) 
    {
        this.punishUid = punishUid;
    }

    public Long getPunishUid() 
    {
        return punishUid;
    }
    public void setPunishTime(Date punishTime) 
    {
        this.punishTime = punishTime;
    }

    public Date getPunishTime() 
    {
        return punishTime;
    }
    public void setPunishContent(String punishContent) 
    {
        this.punishContent = punishContent;
    }

    public String getPunishContent() 
    {
        return punishContent;
    }
    public void setPunishFile(String punishFile) 
    {
        this.punishFile = punishFile;
    }

    public String getPunishFile() 
    {
        return punishFile;
    }
    public void setRegisterNumber(String registerNumber) 
    {
        this.registerNumber = registerNumber;
    }

    public String getRegisterNumber() 
    {
        return registerNumber;
    }
    public void setReContent(String reContent) 
    {
        this.reContent = reContent;
    }

    public String getReContent() 
    {
        return reContent;
    }
    public void setReTime(Date reTime) 
    {
        this.reTime = reTime;
    }

    public Date getReTime() 
    {
        return reTime;
    }
    public void setReFile(String reFile) 
    {
        this.reFile = reFile;
    }

    public String getReFile() 
    {
        return reFile;
    }

    public String getHospitalId() {
        return hospitalId;
    }

    public void setHospitalId(String hospitalId) {
        this.hospitalId = hospitalId;
    }

    public String getSignature() {
        return signature;
    }

    public void setSignature(String signature) {
        this.signature = signature;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("warnId", getWarnId())
            .append("warnType", getWarnType())
            .append("punishState", getPunishState())
            .append("punishUid", getPunishUid())
            .append("punishTime", getPunishTime())
            .append("punishContent", getPunishContent())
            .append("punishFile", getPunishFile())
            .append("registerNumber", getRegisterNumber())
            .append("reContent", getReContent())
            .append("reTime", getReTime())
            .append("reFile", getReFile())
            .append("projectName", getProjectName())
            .toString();
    }
}
